package cn.t.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
public class FunctionConfigDetailVO {
    /**
     * 配置key
     */
    private String key;
    /**
     * value类型
     */
    private String type;
    /**
     * value 值
     */
    private String value;
    /**
     * 配置说明
     */
    private String configExplain;
    /**
     * 发布类型
     */
    private Integer releaseType;
    /**
     * 公司信息 - 编辑回显参数
     */
    private List<Firm> firms;
    /**
     * 公司信息 - 详情参数
     */
    private List<MainDevice> devices;

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Firm {
        /**
         * 前端选中需要 = firmId
         */
        private String key;
        /**
         * 公司id
         */
        private Long firmId;
        /**
         * 公司名称
         */
        private String firmName;
        /**
         * 公司拥有主设备
         */
        private List<MainDevice> mainDevices;
    }

    @Data
    public static class MainDevice {
        /**
         * 前端选中需要 = firmId + deviceId
         */
        private String key;
        /**
         * 配置id
         */
        private Long configId;
        /**
         * 设备编号
         */
        private Long deviceId;
        /**
         * 设备名称
         */
        private String deviceName;
        /**
         * 当前版本
         */
        private String currentVersion;
        /**
         * 是否选中 true-选中 false-未选中
         */
        private Boolean selected = Boolean.FALSE;
    }
}
